Olen ehdottomasti aloittelija, ollut itsenäinen opiskelu kaksi viikkoa valmistautuessani kuukauden kuluttua tulevaan bootcampiin. Pyrin parantamaan taitojani ja "oppimaan ajattelemaan kuin kehittäjä", olen ottanut projektin, joka yrittää ratkaista todellisen ongelman. Vaimoni harjoittaa yritystä, joka vaatii häntä laatimaan laskuja asiakkailleen. Yritän käyttää HTML: ää ja JavaScriptiä rakentamaan verkkopohjaisen sovelluksen, jonka avulla hän voi luoda mukautettuja laskuja nopeasti sen sijaan, että kirjoittaisi ne manuaalisesti joka kerta. Nykyisessä versiossa kehote pyytää numeroa häneltä. Tämä luku tuottaa saman määrän kolmen sarakkeen rivejä HTML-muodossa. Tämän ansiosta hän voi mukauttaa laskun tarkalleen tarvitsemiensa kenttien määrälle. Sarake 1 sisältää tuotteen nimen. Samalla rivillä sarake 2 sisältää yksikkömäärän, kun taas sarake 3 sisältää kyseisen tuotteen kokonaiskustannukset, joka on perushinta kerrottuna yksikkömäärällä. Haluan, että tämä laskelma tapahtuu napin painalluksella. Mutta olen jumissa. Matematiikan suorittamiseksi minun on kyettävä saamaan kokonaisluvut kustakin rivistä ja sarakkeesta ja siirtämään ne funktioon. Mutta koska jokainen rivi ja sarake luotiin automaattisesti, niillä ei ole yksilöllisiä määritteitä, eikä niitä voida siten tunnistaa. Pystyn suorittamaan matematiikan jokaisessa sarakkeessa, mutta ei jokaisella rivillä. Koska olen niin uusi, kun olen oppinut vain muutamasta Codecademy-kurssista ja joistakin YouTube-videoista, en tiedä miten arvioida, lähestynkö projektia täysin väärin vai onko puuttuva temppu, tai jos jotain on vielä oppimatta. Jos joku, jolla on asiantuntemusta, voisi työntää minua oikeaan suuntaan, arvostan sitä todella! Olen liittänyt kaikki koodit tähän viestiin. Anteeksi, jos se on kamala sotku. Mene helposti minuun, olen aloittelija! const invDate = Päivämäärä (); var field = " " + " " + "
"; document.getElementById ('newInvoice'). onclick = function () { anna laskutetunNimi = kehote ('Kenelle tämä lasku laaditaan?', 'Anna nimi'); let productFields = Numero (kehote ('Kuinka monta tuotenimeä tässä laskussa?', 'Anna numero')); anna kentät = '' anna dynHtml = '' if (laskutettuNimi! = null && productFields! = null) { for (olkoon i = 1; i <= productFields; i ++) { kentät + = kenttä}; } else {alert ('Anna kelvolliset syötteet.'); }; dynHtml = "![]()
" + "LASKU
" + "Valmistautunut: " + laskutettuNimi + "," + " "
" + invDate + "
" + kentät + "
" + "
2020-12-15 08:11:54
Kuten sanoitte, pääongelmanne on löytää tapa antaa jokaiselle oman rivin syöttökentälle oma yksilöllinen tunniste. Näin voit laskea kunkin rivin hinnan ja lisätä sen hintakenttään. Ensin on aloitettava kentistä: var field = " " + " " + "
"; document.getElementById ('newInvoice'). onclick = function () { ... for (olkoon i = 1; i <= productFields; i ++) { kentät + = kenttä}; ... }; Jokainen ryhmä tarvitsee oman tunnuksensa. Näin voit myöhemmin viitata jokaisen rivin jokaiseen syötteeseen laskeaksesi kokonaishinnan. Luokan attribuutti on asia, jonka voit määrittää useille elementeille viittaamaan niihin myöhemmin. Tämä luokka voi olla mikä tahansa, kunhan se ei ole ristiriidassa minkään muun rivin luokan kanssa. Voit käyttää silmukan i: tä tunnuksena, koska se muuttuu jokaisen silmukan kanssa. for (olkoon i = 1; i <= productFields; i ++) { var field = " " + " " + "
"; kentät + = kenttä }; Tämä lisää luokan rivin- {i} jokaisen rivin jokaiseen kenttään. Parempi vielä, voit muokata tämän omaan toimintoonsa funktio createFields (i) { return " " + " " + "
"; } for (olkoon i = 1; i <= productFields; i ++) { kentät + = createFields (i); }; Saat jotain samanlaista kuin seuraava html
Nyt voit laskutoiminnossa viitata näihin riveihin ja laskea niiden hinnan. Täällä voit siirtyä 'item' -kenttien yli. document.getElementById ('laskea'). onclick = funktio getQtyFields () { anna itemInput = document.getElementsByName ('kohde') for (olkoon i = 0; i) for (olkoon i = 0; i